<!DOCTYPE html>
<html lang="en">
	<head>
		<meta charset="utf-8" />
		<base href="../../../../" />
		<script src="page.js"></script>
		<link type="text/css" rel="stylesheet" href="page.css" />
	</head>
	<body>
		[page:Curve] &rarr;

		<h1>[name]</h1>

		<p class="desc">
			Create a smooth 2d spline curve from a series of points. Internally this
			uses [page:Interpolations.CatmullRom] to create the curve.
		</p>

		<h2>Code Example</h2>

		<code>
		// Create a sine-like wave
		const curve = new THREE.SplineCurve( [
			new THREE.Vector2( -10, 0 ),
			new THREE.Vector2( -5, 5 ),
			new THREE.Vector2( 0, 0 ),
			new THREE.Vector2( 5, -5 ),
			new THREE.Vector2( 10, 0 )
		] );

		const points = curve.getPoints( 50 );
		const geometry = new THREE.BufferGeometry().setFromPoints( points );

		const material = new THREE.LineBasicMaterial( { color: 0xff0000 } );

		// Create the final object to add to the scene
		const splineObject = new THREE.Line( geometry, material );
		</code>

		<h2>Constructor</h2>

		<h3>[name]( [param:Array points] )</h3>
		<p>points – An array of [page:Vector2] points that define the curve.</p>

		<h2>Properties</h2>
		<p>See the base [page:Curve] class for common properties.</p>

		<h3>[property:Array points]</h3>
		<p>The array of [page:Vector2] points that define the curve.</p>

		<h2>Methods</h2>
		<p>See the base [page:Curve] class for common methods.</p>

		<h2>Source</h2>

		<p>
			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
		</p>
	</body>
</html>
